home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Utilities / Programming / Object Plant 1.4 / Object Plant / Object Plant.rsrc / TEXT_178_Help text.txt < prev    next >
Encoding:
Text File  |  1997-08-10  |  13.7 KB  |  483 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6. 1. Introduction    
  7. The Object Plant gives you the opportunity to create four different kinds of descriptions of a software
  8. system.
  9.  
  10. The notation is based upon the Object Modeling Technique (OMT) developed by Rumbaugh et al and
  11. UML (Unified Modelling Language) developed by Rumbaugh, Booch and Jacobson. This help text
  12. will only refer to OMT notation.
  13.  
  14. This is not a complete description of the program, refer to the User's Manual for more information.
  15.  
  16.  
  17. 1.1 The Object Model    
  18.  
  19. "An object model captures the static structure of a system by showing the objects in the system, relation-
  20. ships between the objects, and the attributes and operations which characterize each class of objects."
  21.  
  22. The Object Plant allows you to create Object Model diagrams, where you can model classes, interfaces, 
  23. associations, generalizations and aggregations. The Object Model diagram can be split into several pages,
  24. each page representing a part of a system.
  25.  
  26. The picture below shows an example of an Object Model diagram.
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42. 1.2 The Dynamic Model    
  43.  
  44. "The major dynamic modeling concepts are events, which represent external stimuli, and states, which
  45. represent values of objects"
  46.  
  47. The Object Plant allows you to create Event Trace diagrams and State diagrams. Each of them can be
  48. divided into several pages much like the Object Model diagram.
  49.  
  50. Substates will eventually be provided, but the current version does not support substates.
  51.  
  52. The picture below shows an example of an Event Trace diagram.
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. A thread is normally an object in the software system. The boxes on a thread shows when the object is active.
  71. Events can either be function calls, queue messages or some other way of communication.
  72.  
  73. 1.3 Use Case diagram    
  74.  
  75. "A use case diagram shows the relationship among actors and use cases within a system. A use case diagram
  76. is a graph of actors, a set of use cases enclosed by a system boundary, communication (participation)
  77. associations between the actors and the use cases, and generalizations among use cases."
  78.  
  79. The picture below shows an example of a Use Case diagram.
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99. 2. Object Model Diagram    
  100.  
  101. The Object Model Toolbox contains eleven different tools:
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116. 2.1 Select Tool    
  117. The select tool is used to select one or several of the items in an Object Model page. There are only two types
  118. of items in an Object Model page, class items and association items, where association items may be of the
  119. Aggregation, Association or Generalization type.
  120.  
  121. To select one item click on the item. A selected item is marked by a set of small black squares positioned at
  122. the corners of the item.
  123.  
  124. To select several items, one may either shift-click the items or framing a set of items by holding the mouse
  125. button down while stretching a select frame.
  126.  
  127. The select tool is also used to move items. If you hold the mouse button down when selecting a class, the
  128. cursor will after will change to a move cursor ¬†   . You may then move the selected items freely. If you hold
  129. the mouse button down when selecting an association, the move cursor will appear only if the cursor is
  130. positioned above a black select square. If you then move the mouse, that point of the association will move.
  131.  
  132. The select tool is used to created subsystems. This is done by doubleclicking on a class box while pressing
  133. the option-key. The top level class box will then be drawn with a dashed outline to indicate that it is a sub-
  134. system and not a real class. A new page for the subsystem will automatically be created and the page will
  135. have the name of the "parent-class". In the page palette, the name of subsystems will be indented relative
  136. its parent.
  137.  
  138.  
  139.  
  140. 2.2 Class Tool    
  141. The Class Tool is used to create class items in the Object Model. Not much to say about this tool...
  142.  
  143.  
  144. 2.3 Interface Tool    
  145. The Interface Tool is used to create interface items in the Object Model. Interfaces are not supported in
  146. the OMT notation but Unified Modeling Language supports interfaces.
  147.  
  148.  
  149. 2.4 Supplier Tool    
  150. The Supplier Tool is used to create an supplier association between a class and an interface (a class
  151. supplies an interface). When this tool is selected the cursor will change into the association cursor¬†  .
  152.  
  153. Position the cursor at a class, press and hold the button and stretch a line to the interface and then release
  154. the button.
  155.  
  156. If you release the button outside any class item, no association will be created.
  157.  
  158.  
  159. 2.5 Association Tool    
  160. The Association Tool is used to create an Association between two classes. When this tool is selected the
  161. cursor will change into the association cursor.
  162.  
  163. Position the cursor at a class, press and hold the button and stretch a line to the other class and then release
  164. the button. If you want a selfreferencing association, press and release the button in the same class item.
  165.  
  166.  
  167. 2.6 Aggregation Tool    
  168. The Aggregation Tool works almost the same as the Association Tool but with one difference. It is possible to
  169. create multibranch aggregations:
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180. To make a multibranch aggregation, start creating an ordinary aggregation between two classes. Add a new
  181. branch by pushing the button on the aggregation, either any of the lines or in the small diamond. Then
  182. stretch it to a class item and release the button.
  183.  
  184.  
  185. 2.7 Generalization Tool    
  186. The Generalization Tool works as the Aggregation Tool. Multibranch generalizations are possible.
  187.  
  188.  
  189. 2.8 Package Tool    
  190. The Package Tool can be used to create a grouping of model elements. "Packages may be nested within
  191. other packages. A package may contain both subordiante packages and ordinary model elements. The
  192. entire system can be thought of as a single high-level package with everything else in it. All kinds of
  193. model elements and diagrams can be organized into packages."
  194.  
  195. Creating a package will automatically create a new sub-page relative the current page.
  196.  
  197.  
  198. 2.9 Cut Tool    
  199. The Cut Tool can be used to split an association line into two. Position the top of the knife cursor at the line
  200. where you want it to be splitted.
  201.  
  202.  
  203. 2.10 Note Tool    
  204. You can place notes anywhere in the diagrams. In the current version, notes are not related to any
  205. particular part of a diagram, they are standalone, but in future releases they will be connected to some
  206. other item in a diagram.
  207.  
  208. A note can, for example, include pseudo code to illustrate the implementation of a class operation.
  209.  
  210.  
  211.  
  212.  
  213.  
  214. A note can be resized by selecting it and draging in any of the corner squares.
  215.  
  216. 2.11 Inspect Tool    
  217. With this tool you can read the Description field of every item (class, association etc) without having to
  218. open a dialog window for the item. Just position the magnifying glass above the item you want to study
  219. and the description text will be presented in a "balloon-ish" frame.
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230. 2.11 Nested Object Models    
  231. You can create nested models containing subsystems each of them described on a separate Object Model page.
  232. A class item can be turned into a subsystem by double-clicking on the class item with the select tool while
  233. pressing the option-key. A new page will then be opened which has the name of the class item. The name of
  234. the new page page cannot be changed, it will always have the same name as it original class.
  235.  
  236. The original class item will be drawn with a dashedout line to indicate that it is a subsystem. If you try to
  237. delete such a class, a confirmation dialog will show up. If you confirm the deletion of the class, the nested
  238. page will also be deleted.
  239.  
  240. In the page palette window, nested object model page names will be indented relative their parent names.
  241.  
  242.  
  243. 3. Event Trace    
  244.  
  245. The Event Trace Toolbox contains seven different tools:
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260. 3.1 Select Tool    
  261. The select tool in the Event Trace diagram works the same way as in the Object Model diagram. The only
  262. difference it that when you move items in the Event Trace diagram the move cursor may look different.
  263. When you move threads, you can only move them sideways why the move cursor looks like this ¬†    . When
  264. you're moving boxes, you may only move them up and down why the cursor looks like this ¬†  .
  265.  
  266. You also use the select tool to change the size of threads and boxes. If you hit either end of a thread, the
  267. cursor will change to the resize cursor which looks like this ¬†  . You may then change the size of the
  268. threads. Note that all threads will change size. They always have the same height. To alter the size of a box,
  269. hit either end of the box and the cursor changes to the resize cursor. Then move the mouse to change the
  270. size of the box.
  271.  
  272. 3.2 Thread Tool    
  273. The Thread Tool is used to create thread items in the Event Trace diagram. Not much to say about this tool
  274. except that the height of a new thread is determined by the height of other threads in the diagram. All
  275. threads must always have equal heights.
  276.  
  277. 3.3 Box Tool    
  278. The Box Tool is used to create box items in the Event Trace. When you have selected this tool and moves the
  279. cursor over a thread, a hanging box will appear below the cursor. This indicates that you may create a box
  280. at the current position.
  281.  
  282. 3.4 Event Tool    
  283. The Event Tool is used to create an event between two boxes. When this tool is selected the cursor will
  284. change into the event cursor¬†  .
  285.  
  286. Position the cursor at a box, press and hold the button and stretch a line to the other box and then release
  287. the button. If you want a selfreferencing event, press and release the button in the same box item.
  288.  
  289. If you release the button outside any box item, no event will be created.
  290.  
  291. 3.5 Package & Note & Inspect Tool    
  292. Are exactly the same as the Object Model package, note and inspect tool.
  293.  
  294.  
  295. 4. State Diagrams    
  296.  
  297. The State Diagram Toolbox contains nine different tools.
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312. 4.1 Select Tool    
  313. The select tool in the State Diagram works the same way as in the Object Model diagram. 
  314.  
  315. 4.2 State Tool    
  316. This tool is used to create a state model element.
  317.  
  318. 4.3 Initial and Final State Tool    
  319. These tools can be used to insert final and initial state symbols (bull's eye and filled circle).
  320.  
  321. 4.4 Event Tool    
  322. The Event Tool can be used to create an event starting from a state (ordinary or initial) ending
  323. in a state (ordinary or final).
  324.  
  325. 4.5 Cut Tool    
  326. The Cut Tool can be used to split an event line into two. Position the top of the knife cursor at the line
  327. where you want it to be splitted.
  328.  
  329. 4.6 Package & Note & Inspect Tool    
  330. Are exactly the same as the Object Model package, note and inspect tool.
  331.  
  332.  
  333. 5. Use Case Diagrams    
  334.  
  335. The Use Case Toolbox contains eight different tools.
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350. 5.1 Select Tool    
  351. The select tool in the Use Case diagram works the same way as in the Object Model diagram. 
  352.  
  353. 5.2 Use Case Tool    
  354. This tool can be used to create a use case symbol.
  355.  
  356. 5.3 Actor Tool    
  357. This tool can be used to create an actor symbol.
  358.  
  359. 5.4 Communicates Tool    
  360. This tool can be used to connect an actor with a use case.
  361.  
  362. 5.5 Cut Tool    
  363. The Cut Tool can be used to split a communication line into two. Position the top of the knife cursor at the line
  364. where you want it to be splitted.
  365.  
  366. 5.6 Package & Note & Inspect Tool    
  367. Are exactly the same as the Object Model package, note and inspect tool.
  368.  
  369.  
  370. 6. The Menus    
  371. The Object Plant has five fixed menus and two menus which appear now and then. The fixed menus are:
  372. File, Edit, View, Special and Windows.
  373.  
  374. 6.1 File Menu    
  375. When no document is open, the file menu looks like this:
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396. The New, Open, Save, Save as, Close and Quit do not require any explanation, do they?
  397.  
  398. When a document is open (note that a document may be open even though no windows are visible) the File
  399. menu looks like this:
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420. The "Document Info..." item contains two submenus: "General..." and "Datatypes...". In the General item you
  421. can select the notation to be used with the document. The Datatypes item will bring up a dialog where
  422. you can specify the data types used in the document (project). You can create your own set of data types
  423. by adding and removing data types as you like. There is one standard C++ data type set included in the Object
  424. Plant package which can be loaded using the "Load set"-button.
  425.  
  426. Here the "Export Page as..." item is used to export the current main window content in PICT or EPS format.
  427. Note that not all types of window may be exported, only the four main windows: Object Model, State
  428. Diagram, Event Trace and Use Case windows.
  429.  
  430. The "Generate code..." item is used to generate code as described by the currently selected template files (in
  431. the Code generation preferences dialog).
  432.  
  433. The Print Page item will print the selected page in the currently active main window.
  434.  
  435. 6.2 Edit Menu    
  436. In this menu the Cut, Copy and Paste items are enabled and implemented for text fields. Copy and Paste are also
  437. enabled for certain items in the diagrams such as classes, states and threads. The Clear can also be used to
  438. delete parts in the Object Model, State Diagram, Event Trace and Use Case diagram.
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455. The Clear item can also be used to delete class attributes and operations. To do this, doubleclick on the class box so
  456. that the Class Dialog Window appears. Then select the attribute or operation to be deleted by clicking to the left
  457. of the attribute's (or operation's) name or description field. The attribute will then be selected and the
  458. "Clear" item of the Edit menu will be enabled.
  459.  
  460. Event entries in state boxes can be deleted the same way as class attributes and operations.
  461.  
  462. 6.3 View Menu    
  463. The number of items in this menu depends upon the number of "View sets" that you have defined in the
  464. Edit->Preferences... dialog.
  465.  
  466. 6.4 Special Menu    
  467. This menu has four items: Info, Align, New Page and Delete Page.
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477. "Info" will be enabled when one or several items in the currently active main window are selected. Choosing
  478. "Info" will present a dialog window for each of the selected items. The same dialog window will appear when
  479. doubleclicking on an item.
  480.  
  481. If you delete the last page in for example the Object Model, a new empty page will automatically be created
  482. since all models must have at least one page.
  483.